﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataTransferObjects;

namespace DataAccessObject
{
    public class AccountDAO
    {
        //static public void RegNewAccount(AccountInforDTO accountInfor)
        //{
        //    int userID = 0;
        //    //sử dụng thông tin có trong accountInfor để ghi thông tin


        //    //cấp phát id cho người dùng. ID này dùng để biêt tài khoản hiện tại là của ai trong 1 chục cái tài khoản.


        //    //trả về giá trị id cho bên trên
        //    //return userID;
        //}

        
        static public void RegNewAccountToDB(AccountInforDTO accountInfor)
        {
            //sử dụng thông tin có trong accountInfor để ghi thông tin
            //Nhớ rõ địa chỉ email là duy nhất
        }

        static public void ChangeAccInfor(AccountInforDTO accountInfor)
        {            
            //sử dụng thông tin có trong accountInfor để cập nhật thông tin này dưới cơ sở dữ liệu

        }

        static public AccountInforDTO getAccInforFromDB(int iUserID)
        {
            AccountInforDTO accInfor = new AccountInforDTO();

            //ĐỌc dữ liệu từ dưới csdl lên với iUserID


            //Đoạn code tạo dữ liệu dummy chạy lúc test
            //khi nào hoàn chỉnh hoàn thì xóa
            DateTime date = new DateTime(1980, 1, 1);
            accInfor.address = "Ba Đình, Hà Nội";
            accInfor.birthday = date;
            accInfor.email = "abc@.com";
            accInfor.iUserID = 1;
            accInfor.phoneNumber = "0123456789";
            accInfor.strName = "Nguyễn Văn A";
            //Kết thúc code dummy

            return accInfor;
        }

        static public AccountInforDTO getAccInforFromDB(string iUserEmail)
        {
            AccountInforDTO accInfor = new AccountInforDTO();

            //ĐỌc dữ liệu từ dưới csdl lên với iUserEmail


            //Đoạn code tạo dữ liệu dummy chạy lúc test
            //khi nào hoàn chỉnh hoàn thì xóa
            DateTime date = new DateTime(1980, 1, 1);
            accInfor.address = "Ba Đình, Hà Nội";
            accInfor.birthday = date;
            accInfor.email = "abc@com";
            accInfor.iUserID = 1;
            accInfor.phoneNumber = "0123456789";
            accInfor.strName = "Nguyễn Văn A";
            //Kết thúc code dummy

            return accInfor;
        }

        public static void exportAccountToFile(int iUserID)
        {
            //Xuất toàn bộ thông tin của người dùng có iUserID ra tập tin
        }

        public static AccountInforDTO[] getAccsInforFromDB()
        {
            //Đọc toàn bộ account có trong csdl để load lên.

            
            //dummy
            AccountInforDTO[] accInfor = new AccountInforDTO[3];
            for (int i = 0; i < 3; ++i )
            {
                accInfor[i] = new AccountInforDTO();
            }
            DateTime date1 = new DateTime(1980, 1, 1);
            accInfor[0].address = "Ba Đình, Hà Nội";
            accInfor[0].birthday = date1;
            accInfor[0].email = "abc@com";
            accInfor[0].iUserID = 1;
            accInfor[0].phoneNumber = "0123456789";
            accInfor[0].strName = "Nguyễn Văn A";

            DateTime date2 = new DateTime(1990, 2, 2);
            accInfor[1].address = "Nhà thờ Đức Bà";
            accInfor[1].birthday = date2;
            accInfor[1].email = "def@com";
            accInfor[1].iUserID = 2;
            accInfor[1].phoneNumber = "987654321";
            accInfor[1].strName = "Nguyễn Văn B";

            DateTime date3 = new DateTime(1970, 12, 12);
            accInfor[2].address = "Hồ Gươm";
            accInfor[2].birthday = date3;
            accInfor[2].email = "def@com";
            accInfor[2].iUserID = 3;
            accInfor[2].phoneNumber = "111122222";
            accInfor[2].strName = "Nguyễn Thị C";

            return accInfor;
        }
    }
}
